#include "barbre.h"


int main(){
BArbre<int,std::greater<int> > * b=new BArbre<int,std::greater<int> >(2);
cout<<"***********Insertion de la clé 1***********"<<endl;
b->insert(1);
cout<<"***********Insertion de la clé 5***********"<<endl;
b->insert(5);
cout<<"***********Insertion de la clé 9***********"<<endl;
b->insert(9);
cout<<"***********Insertion de la clé 12***********"<<endl;
b->insert(12);
cout<<"***********Insertion de la clé 2***********"<<endl;
b->insert(2);
cout<<"***********Insertion de la clé 3***********"<<endl;
b->insert(3);
cout<<"***********Insertion de la clé 4***********"<<endl;
b->insert(4);
cout<<"***********Insertion de la clé 10***********"<<endl;
b->insert(10);
cout<<"***********Insertion de la clé 11***********"<<endl;
b->insert(11);
cout<<"***********Insertion de la clé 6***********"<<endl;
b->insert(6);

cout<<"\n***********Affichage de l'arbre***********"<<endl;
b->afficherArbre();

cout<<"***********Suppression de la clé 6***********"<<endl;
b->deleteNode(6);

cout<<"***********Affichage de l'arbre***********"<<endl;
b->afficherArbre();

cout<<"***********Suppression de la clé 9***********"<<endl;
b->deleteNode(9);

cout<<"***********Affichage de l'arbre***********"<<endl;
b->afficherArbre();




//test de l'itérateur
BNodeIter<int> it=b->begin();

cout<< "\nClé de l'itérateur cran 1: " <<(int)(*it)<< " " <<endl;
it++;
cout<< "Clé de l'itérateur cran 2: " << (int)(*it) <<endl;
it++;
cout<< "Clé de l'itérateur cran 3: " << (int)(*it) <<endl;
it++;
cout<< "Clé de l'itérateur cran 4: " << (int)(*it) <<endl;
it++;
cout<< "Clé de l'itérateur cran 5: " << (int)(*it) <<endl;
it++;
cout<< "Clé de l'itérateur cran 6: " << (int)(*it) <<endl;
it++;
cout<< "Clé de l'itérateur cran 7: " << (int)(*it) <<endl;
it++;
cout<< "Clé de l'itérateur cran 8: " << (int)(*it) <<endl;



return 0;
}
